<template>
	<view class="icons" @click.stop="likeTap">
		
		<!-- #ifndef MP-ALIPAY || MP-WEIXIN -->
		<uni-icons size="20" color="#f07373" :type="item.is_like ? 'heart-filled' : 'heart'"></uni-icons>
		<!-- #endif -->
		
		<!-- #ifdef MP-ALIPAY || MP-WEIXIN -->
		<uni-icons size="20" color="#f07373" :type="is_like ? 'heart-filled' : 'heart'"></uni-icons>
		<!-- #endif -->
	</view>
</template>

<script>
	import { update_like } from '@/common/api/index.js';
	export default {
		data() {
			return {
				is_like: this.item.is_like
			}
		},
		props: {
			// 文章对象
			item: {
				type: Object,
				default() {
					return {}
				}
			},
			types: {
				type: String,
				default: ''
			}
		},
		methods: {
			// 收藏按钮点击事件
			likeTap() {
				// #ifndef MP-ALIPAY || MP-WEIXIN
				this.item.is_like = !this.item.is_like
				// #endif
				
				// #ifdef MP-ALIPAY || MP-WEIXIN
				this.is_like = !this.is_like
				// #endif
				
				this.setUpdateLike()
				
			},
			// 收藏文章请求函数
			setUpdateLike() {
				update_like({
					article_id: this.item._id
				}).then(res => {
					uni.showToast({
						// #ifndef MP-ALIPAY || MP-WEIXIN
						title: this.item.is_like ? '收藏成功' : '取消收藏',
						// #endif
						// #ifdef MP-ALIPAY || MP-WEIXIN
						title: this.is_like ? '收藏成功' : '取消收藏',
						// #endif
						icon: 'none'
					})
					
					if(this.types === 'follow') {
						// 自定义事件通知我修改了状态
						uni.$emit('update_follow_home',this.item._id)
						uni.$emit('update_follow')
					}
					
					if(this.types === 'home') {
						// 自定义事件通知我修改了状态
						uni.$emit('update_follow_page')
					}
					
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
	.icons{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40upx;
		height: 40upx;
		position: absolute;
		top: 0;
		right: 0;
	}
</style>
